A relational database is a database that groups data using common attributes. For example, real estate transactions may be stored in a relational database according to the year of the transaction, the sales price, the buyer's name, the seller's name, and so on. A group of data in a relational database is commonly referred to as a table.
A relation in a relational database is a set of tuples that have the same attribute, where a tuple represents an object and information about the object. Tuples and attributes are stored in no particular order.
A relation that contains all of the information that a person is interested in is commonly referred to as a base relation. A relation that can only be derived from information contained in more than one relation is commonly referred to as a derived relation.
One computer language used to query a relational database is Structured Query Language (SQL). SQL is good for querying a relational database and allowing the user to determine a derived relation manually. It would be an improvement if SQL could be used to automatically determine a derived relation. The present invention is a method of querying a relational database using a computer language such as SQL to automatically determine a user-definable derived relation. Such a method is faster and less prone to errors than a manual method of determining a derived relation.
U.S. Pat. No. 5,701,467, entitled “COMPUTER DATA STORAGE MANAGEMENT SYSTEM AND METHODS OF INDEXING A DATASPACE AND SEARCHING A COMPUTER MEMORY,” discloses a device for and method of storing additional information when memory is full at a particular hierarchical level by storing the additional information at a higher hierarchical level. U.S. Pat. No. 5,701,467 is hereby incorporated by reference into the present invention.
U.S. Pat. No. 6,792,414, entitled “GENERALIZED KEYWORD MATCHING FOR KEYWORD BASED SEARCHING OVER RELATIONAL DATABASES,” discloses a device for and method of improving matching and searching capability by creating look-up tables. U.S. Pat. No. 6,792,414 is hereby incorporated by reference into the present invention.
U.S. Pat. No. 7,519,613, entitled “METHOD AND SYSTEM FOR GENERATING THREADS OF DOCUMENTS,” discloses a device for and method of generating threads of documents by generating a relevance graph and using a matching-based algorithm or dynamic programming. U.S. Pat. No. 7,519,613 is hereby incorporated by reference into the present invention.
U.S. Pat. App. Pub. No. 20050060287, entitled “SYSTEM AND METHOD FOR AUTOMATIC CLUSTERING, SUB-CLUSTERING AND CLUSTER HIERARCHIZATION OF SEARCH RESULTS IN CROSS-REFERENCED DATABASES USING ARTICULATION NODES,” discloses a method of adding reference entries to data in a database to allow the data to be represented as a mathematical graph or network so that it may be more easily navigated. U.S. Pat. App. Pub. No. 20050060287 is hereby incorporated by reference into the specification of the present invention.
U.S. Pat. App. Pub. No. 20080059439, entitled “QUERY TRANSLATION FROM XPATH TO SQL IN THE PRESENCE OF RECURSIVE DTDS,” discloses a device for and method of translating XPATH queries into SQL queries. U.S. Pat. App. Pub. No. 20080059439 is hereby incorporated by reference into the specification of the present invention.
U.S. Pat. App. Pub. No. 20090043797, entitled “SYSTEM AND METHODS FOR CLUSTERING LARGE DATABASE OF DOCUMENTS,” discloses a device for and method of creating a finger print for a document that cites another document and assigning the document to a cluster within a database. U.S. Pat. App. Pub. No. 20090043797 is hereby incorporated by reference into the specification of the present invention.